// let obj1: {
//   name: string
//   age: number
// } = {
//   name: 'zs',
//   age: 18,
// }
// let obj2: {
//   name: string
//   age: number
// } = {
//   name: 'ls',
//   age: 20,
// }

// 定义接口. 使用接口时,就把接口当做是一个类型使用即可
// interface Iobj {
//   name: string
//   age: number
// }
// let obj1: Iobj = {
//   name: 'zs',
//   age: 18,
// }
// let obj2: Iobj = {
//   name: 'ls',
//   age: 20,
// }

interface Iobj {
  readonly id: number //只读属性,可以初始化数据,但是不能修改
  name: string // 必填
  age: number // 必填
  gender?: string //可选
  [xxx: string]: string | number //任意属性  注意: 如果接口中有任意属性,则任意属性的数据类型必须包含其他属性的数据类型
}
let obj1: Iobj = {
  id: 123123123,
  name: 'zs',
  age: 18,
  //   gender: '男',
  //   hahah: 123,
  //   sdfsdf: false,
  hahdfgdfgdfgah: '123',
}

obj1.name = '123'
obj1.age = 123
obj1.hahdfgdfgdfgah = '123'
obj1.id = 000
